home *** CD-ROM | disk | FTP | other *** search
/ Ham Radio 2000 / Ham Radio 2000.iso / ham2000 / misc / dbrain / cpu.txt < prev    next >
Text File  |  1996-02-12  |  5KB  |  99 lines

  1. The DigiBrain's Brain
  2.  
  3. I think we all know a little about microprocessors and
  4. central processing units (CPUs). These gadgets run in
  5. computers and crunch numbers as well as driving monitors and
  6. writing data to our printers and so on. The difference
  7. between a microcontroller CPU and a more mainstream chip
  8. like the Pentium or 68040 is the amount of support chips
  9. needed. A microcontroller is often connected directly to
  10. LEDs and switches. It needs a minimum of external parts, as
  11. it has its own dedicated I/O ports as well as scratch RAM
  12. and a program burned into EPROM (or EEROM.) A chip like the
  13. Pentium needs outboard RAM, memory controllers, I/O buffers
  14. and gobs of "glue logic" so all these components work
  15. together properly.
  16.  
  17. Choosing a CPU
  18.  
  19. Some people get all bent out of shape over one brand of CPU
  20. versus the other. I say, "Look at the cost and what you want
  21. to do with it!" The Motorola 68HC705J1A family, which I
  22. used, has some good feature--but than so do the Intel,
  23. Zilog, Parallax and many other chips. In fact, the first
  24. version of the DigiBrain used an old Intel 8751 and it
  25. worked just fine! My final choice of the 68HC705J1A was (as
  26. usual) cost, cost, cost, availability and maybe a chance to
  27. challenge my programming skills. The version I used comes in
  28. a skinny 20-pin package with 1.2 kbytes of EPROM and a
  29. handful of RAM. The trick would be cramming everything into
  30. this tiny package. Some of you are probably giving this
  31. account the fish eye, as it seems impossible to program
  32. anything useful in 1 kbyte of RAM, right? I mean, everyone
  33. knows that Word 6.0 for Windows fits on a dozen 1.44-
  34. megabyte disks. Well, just remember that the earliest home
  35. machines, such as the Altair and Intelec8, started with 256
  36. bytes of RAM and later moved up to a whopping 4 k. People
  37. managed to get these machines to do all sorts of clever
  38. stuff. The trick was careful coding in assembler! (Seeing
  39. how long some of today's programs take to load, you might
  40. wish that a few more people had developed that assembler
  41. programming skill!)
  42.  
  43. Design Tools
  44.  
  45. One of the things going for the Motorola CPU was its cost.
  46. The one-time-programmable parts are surprisingly
  47. inexpensive. When I ordered my 68HC705J1A designer's kit, it
  48. only set me back $99.95. I looked at the development kits
  49. for other popular microprocessors and they all cost $200 on
  50. up! The Motorola kit comes with an integrated
  51. editor/assembler/debugger as well as a programmer that plugs
  52. into your PC's serial port and a sample of the erasable
  53. version of the part. The surprise was that the programmer
  54. card doubles as an in-circuit emulator. A software emulator
  55. lets you simulate a microprocessor (such as the 68HC705J1A)
  56. in software on a different computer (such as your generic
  57. PC)--a very useful thing to have while testing snippets of
  58. code. Remember, though, that Motorola supplies a software
  59. and hardware emulator. This gadget allows you to plug a
  60. cable into your new design and run and simulate the action
  61. of the CPU. Thus, without programming any 68HC705J1A parts
  62. with alpha or beta versions of my program, I was able to try
  63. routines and program the Harris DDS and so on! This also
  64. allowed me to determine which CPU input was which on my
  65. bungled prototype board!
  66.  
  67. I think the reason this seems so fantastic to me is that the
  68. last chance I had to use such a device was when I was
  69. working on a 68000-based computer. The Hewlett-Packard in-
  70. circuit emulator I used cost our company 30+ kilodollars.
  71. Although it was a tad fancier than the one offered by
  72. Motorola for 99 bucks and change, the functional differences
  73. aren't worth mentioning. As I've said before, we are indeed
  74. living in a new golden era of designing and constructing ham
  75. gear at home. With tools like these, new and wonderful
  76. gadgets can be designed quite easily!
  77.  
  78. Making It Fit
  79.  
  80. At first glance, the 68HC705J1A (what a mouthful) didn't
  81. appear to have enough I/O lines for the DigiBrain project.
  82. Then I remembered that I was dealing with a real CPU. It was
  83. simply a matter of using the chip's Port A as my 8-bit data
  84. bus and turning this into two separate 8-bit ports for LCD
  85. and DDS control. This required a set of 74ALS574 latches and
  86. two bits from Port B--pretty good, synthesizing 16 bits from
  87. 10! To write the LCD, I send the byte to Port A and toggle
  88. the latch bit to the LCD 74ALS574 (U3). If I want to write
  89. to the DDS, I write my data to Port A again and toggle the
  90. latch bit to the other 74ALS574. I also decided to use the
  91. LCD module in 4-bit-data mode. (I had to do this because I
  92. needed an additional three lines to control the panel.) I
  93. suppose I could've simply added a third 74ALS574 for a third
  94. port to control eight extra output lines. But doing so would
  95. have raised the DigiBrain's cost and lost that "spare" I/O
  96. line on Port B--and I can't forget Craswell's Law: Software
  97. (once written and working, of course) is cheaper than
  98. hardware.--WBOVNE
  99.